package com.sloth.bear.dto.request;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 批量更新文档排序请求对象
 */
@Data
public class DocSortUpdateRequest {
    
    /**
     * 需要更新排序的文档列表
     */
    @NotEmpty(message = "更新列表不能为空")
    @Valid
    private List<SortUpdate> updates;
    
    /**
     * 单个排序更新项
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SortUpdate {
        
        /**
         * 文档ID
         */
        @NotNull(message = "文档ID不能为空")
        private Long id;
        
        /**
         * 新的排序号
         */
        @NotNull(message = "排序号不能为空")
        private Integer sortNo;
    }
}